﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Persistencia;
using System.ComponentModel;

namespace GestorDeFlotasModelo.Entities
{
    public partial class Viaje 
    {
        internal Viaje()
        {
        }

        #region Getters & Setters
        public Int64 Id { get; set; }

        [Browsable(false)]
        public Chofer Chofer { get; set; }

        [Browsable(false)]
        public Turno Turno { get; set; }

        [Browsable(false)]
        public Auto Auto { get; set; }

        [Browsable(false)]
        public Cliente Cliente { get; set; }

        [DisplayName("Cantidad de fichas")]
        public int CantFichas { get; set; }

        [Browsable(false)]
        public DateTime Fecha { get; set; }

        [Browsable(false)]
        public Reloj Reloj { get; set; }

        [DisplayName("Precio")]
        public double PrecioViaje { get { return Math.Round(Math.Round(this.Turno.ValorBandera, 2) + Math.Round(this.Turno.ValorFicha, 2) * this.CantFichas, 2); } }

        [DisplayName("Chofer")]
        public string ChoferString { get { return this.Chofer.Apellido + " " + this.Chofer.Nombre; } }

        [DisplayName("Turno")]
        public string TurnoString { get { return this.Turno.TurnoString; } }

        [DisplayName("Auto")]
        public string AutoString { get { return this.Auto.Marca + " " + this.Auto.Modelo + " " + this.Auto.Licencia; } }

        [DisplayName("Cliente")]
        public string ClienteString { get { return this.Cliente.Apellido + " " + this.Cliente.Nombre; } }

        [DisplayName("Reloj")]
        public string RelojString { get { return this.Reloj.NumeroDeSerie; } }

        [DisplayName("Fecha")]
        public string FechaString { get { return this.Fecha.ToShortDateString(); } }

        [Browsable(false)]
        public bool Consistente { get; set; }

        [Browsable(false)]
        public Rendicion Rendicion { get; set; }

        [Browsable(false)]
        public Factura Factura{ get; set; }
        #endregion     
    }
}
